#pragma once
#include "stdafx.h"

class CArray2D
{
public:
	CArray2D(int imax, int jmax);
	~CArray2D(void);

	int&		operator() (int i, int j);
	const int&	operator() (int i, int j) const;

<<<<<<< .mine
	inline int XSize(void) { return xs; }
	inline int YSize(void) { return ys; }

=======
	inline int	getImax(void) { return imax; }
	inline int	getJmax(void) { return jmax; }
	int			get(int i, int j);
	void		set(int i, int j);
	
>>>>>>> .r66
	class BadSize { };
	class BoundsViolations { };
private:
	int** arr2D;
	const int imax,jmax;
	mutable int bViol;
};

typedef shared_ptr<CArray2D> PArray2D;